<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:p="http://primefaces.org/ui">
<ui:composition template="../templates/layout.xhtml">
<ui:define name="title">Generar Reporte Balance de Comprobación</ui:define>
<ui:define name="content">
<p:spacer height="5px"/>
<p:panel>
    <h:outputText value="Generar Reporte Balance de Comprobación" styleClass="text_header_page"/>
</p:panel>
<p:spacer height="5px"/>
<h:panelGroup>
<ui:decorate template="/pages/ui/uiCheckPointBalance.xhtml">
    <ui:param name="jsfBean" value="#{reporteBalanceComprobacionJsfBean}"/>
    <ui:param name="verEditarCheckPoint" value="true"/>
    <ui:param name="verFechaCorte" value="true"/>
    <ui:param name="tipoArchivo" value="0"/>
    <ui:param name="frmCuenta" value="frmCuentaxPagar"/>
    <ui:param name="tituloPanel" value="Ingresar Nuevo Archivo Base Cuenta por Pagar"/>
    <ui:param name="cmbCheckPointList" value="#{reporteBalanceComprobacionJsfBean.cmbCpCuentaXPagarList}"/>
    <ui:param name="verDocumentos" value="false"/>
</ui:decorate>
<ui:decorate template="/pages/ui/uiCheckPointBalance.xhtml">
    <ui:param name="jsfBean" value="#{reporteBalanceComprobacionJsfBean}"/>
    <ui:param name="verEditarCheckPoint" value="true"/>
    <ui:param name="verFechaCorte" value="true"/>
    <ui:param name="tipoArchivo" value="1"/>
    <ui:param name="frmCuenta" value="frmCuentaxCobrar"/>
    <ui:param name="tituloPanel" value="Ingresar Nuevo Archivo Base Cuenta por Cobrar"/>
    <ui:param name="cmbCheckPointList" value="#{reporteBalanceComprobacionJsfBean.cmbCpCuentaXCobrarList}"/>

</ui:decorate>
<ui:decorate template="/pages/ui/uiCheckPointBalance.xhtml">
    <ui:param name="jsfBean" value="#{reporteBalanceComprobacionJsfBean}"/>
    <ui:param name="verEditarCheckPoint" value="false"/>
    <ui:param name="verFechaCorte" value="true"/>
    <ui:param name="tipoArchivo" value="2"/>
    <ui:param name="frmCuenta" value="frmCuentaxAlmacen"/>
    <ui:param name="tituloPanel" value="Ingresar Nuevo Archivo Base Cuenta de Almacén"/>
    <ui:param name="cmbCheckPointList" value="#{reporteBalanceComprobacionJsfBean.cmbCpCuentaXAlmacenList}"/>

</ui:decorate>
<ui:decorate template="/pages/ui/uiCheckPointBalance.xhtml">
    <ui:param name="jsfBean" value="#{reporteBalanceComprobacionJsfBean}"/>
    <ui:param name="verEditarCheckPoint" value="false"/>
    <ui:param name="verFechaCorte" value="false"/>
    <ui:param name="tipoArchivo" value="4"/>
    <ui:param name="frmCuenta" value="frmCuentaxBC"/>
    <ui:param name="tituloPanel" value="Ingresar Nuevo Archivo Base Balance Comprobación"/>
    <ui:param name="cmbCheckPointList" value="#{reporteBalanceComprobacionJsfBean.cmbCpCuentaBCList}"/>

</ui:decorate>
<h:form id="frmReporte">
<p:outputPanel id="pnlUsuario" rendered="#{not reporteBalanceComprobacionJsfBean.administrador}">
    <p:panel header="Criterios de Búsqueda">
        <p:panelGrid>
            <p:row>
                <p:column>
                    <p:outputLabel for="cmbGrupoEmpresarial" value="Grupo Empresarial"/>
                </p:column>
                <p:column>
                    <p:selectOneMenu id="cmbGrupoEmpresarial" converter="#{managerGrupoDTOConverter}"
                                     required="true" requiredMessage="*"
                                     value="#{reporteBalanceComprobacionJsfBean.reporteContext.grupoEmpresarial}"
                                     style="width:180px;">
                        <f:selectItem itemLabel="Seleccione" itemValue="" noSelectionOption="true"/>
                        <f:selectItems value="#{reporteBalanceComprobacionJsfBean.cmbGrupoEmpresarial}"
                                       var="grupoSelect"
                                       itemLabel="#{grupoSelect.nombre}"
                                       itemValue="#{grupoSelect}"/>
                        <p:ajax event="change" update=":frmReporte:cmbSociedades :messages" process="@this"
                                listener="#{reporteBalanceComprobacionJsfBean.onSelectGrupoEmpresarial}"/>
                    </p:selectOneMenu>
                </p:column>
                <p:column>
                    <p:message for="cmbGrupoEmpresarial" display="text"/>
                </p:column>
                <p:column>
                    <p:outputLabel for="cmbSociedades" value="Sociedad"/>
                </p:column>
                <p:column>
                    <p:selectCheckboxMenu id="cmbSociedades" label="Sociedades" filter="true"
                                          converter="#{managerSociedadDTOConverter}" required="true"
                                          requiredMessage="*"
                                          value="#{reporteBalanceComprobacionJsfBean.reporteContext.sociedadList}"
                                          filterText="Filter" filterMatchMode="startsWith"
                                          panelStyle="width:220px"
                            >
                        <f:selectItems value="#{reporteBalanceComprobacionJsfBean.cmbSociedad}" var="sociedadItem"
                                       itemLabel="#{sociedadItem.nombre}"
                                       itemValue="#{sociedadItem}"/>
                        <p:column>

                        </p:column>
                    </p:selectCheckboxMenu>
                </p:column>
                <p:column>
                    <p:message for="cmbSociedades" display="text"/>
                </p:column>
                <p:column>
                    <p:outputLabel for="cpModulo" value="Módulo"/>
                </p:column>
                <p:column>
                    <p:selectOneMenu panelStyle="width: 350px" style="width: 220px"
                                     id="cpModulo"

                                     value="#{reporteBalanceComprobacionJsfBean.reporteContext.tipoModulo}">
                        <f:selectItem itemLabel="Seleccione" itemValue=""/>
                        <f:selectItems value="#{reporteBalanceComprobacionJsfBean.allTipoModulo}"
                                       var="tipoModulo" itemLabel="#{tipoModulo.nombre}"
                                       itemValue="#{tipoModulo}"
                                />
                        <p:ajax event="change" update=":frmReporte:cmbSociedades :frmReporte:cmbAgrupacion :frmReporte:cpCheckPoint :messages" process="@this"
                                listener="#{reporteBalanceComprobacionJsfBean.onSelectModulo}"/>
                    </p:selectOneMenu>
                </p:column>
                <p:column>
                    <p:message for="cpModulo" display="text"/>
                </p:column>
                <p:column>
                    <p:outputLabel for="cmbAgrupacion" value="Seleccione las agrupaciones"
                            />
                </p:column>
                <p:column>
                    <p:selectCheckboxMenu id="cmbAgrupacion" label="Agrupaciones" filter="true"
                                          converter="#{managerAgrupacionDTOConverter}" required="true"
                                          requiredMessage="*"
                                          value="#{reporteBalanceComprobacionJsfBean.reporteContext.agrupacionList}"
                                          filterText="Filter" filterMatchMode="startsWith"
                                          panelStyle="width:220px"
                            >
                        <f:selectItems value="#{reporteBalanceComprobacionJsfBean.cmbAgrupacionSeleccionar}"
                                       var="agrupacionItem"
                                       itemLabel="#{agrupacionItem.nombre}" itemValue="#{agrupacionItem}"/>

                    </p:selectCheckboxMenu>
                </p:column>
                <p:column>
                    <p:message for="cmbAgrupacion" display="text"/>
                </p:column>
            </p:row>
            <p:row>
                <p:column>
                    <p:outputLabel for="cpCheckPoint" value="CheckPoint"/>
                </p:column>
                <p:column>
                    <p:selectOneMenu panelStyle="width: 350px" style="width: 220px"
                                     var="checkPointItem" id="cpCheckPoint"
                                     converter="#{checkPointDTOConverter}"
                                     value="#{reporteBalanceComprobacionJsfBean.reporteContext.checkPoint}">
                        <f:selectItem itemLabel="Seleccione" itemValue=""/>
                        <f:selectItems value="#{reporteBalanceComprobacionJsfBean.cmbCheckPoint}"
                                       var="checkPoint" itemLabel="#{checkPoint.nombreArchivo}"
                                       itemValue="#{checkPoint}"
                                />
                        <p:column>
                            #{checkPointItem.nombreArchivo}
                        </p:column>
                        <p:column>
                            <h:outputText value="#{checkPointItem.fechaCreacion}">
                                <f:convertDateTime pattern="#{messages.label_app_timeFormatLong}"
                                                   timeZone="America/Lima"
                                                   type="both"/>
                            </h:outputText>
                        </p:column>
                        <p:column>
                            #{checkPointItem.comentario}
                        </p:column>

                    </p:selectOneMenu>
                </p:column>
                <p:column>
                    <p:message for="cpCheckPoint" display="text"/>
                </p:column>
                <p:column>
                    <p:outputLabel for="cpBalanceComparacion" value="CheckPoint BC"/>
                </p:column>
                <p:column colspan="4">
                    <p:selectOneMenu panelStyle="width: 350px" style="width: 220px"
                                     var="checkPointItem" id="cpBalanceComparacion"
                                     converter="#{checkPointDTOConverter}"
                                     value="#{reporteBalanceComprobacionJsfBean.reporteContext.checkPointBC}">
                        <f:selectItem itemLabel="Seleccione" itemValue=""/>
                        <f:selectItems value="#{reporteBalanceComprobacionJsfBean.cmbCpCuentaBC}"
                                       var="checkPoint" itemLabel="#{checkPoint.nombreArchivo}"
                                       itemValue="#{checkPoint}"
                                />
                        <p:column>
                            #{checkPointItem.nombreArchivo}
                        </p:column>
                        <p:column>
                            <h:outputText value="#{checkPointItem.fechaCreacion}">
                                <f:convertDateTime pattern="#{messages.label_app_timeFormatLong}"
                                                   timeZone="America/Lima"
                                                   type="both"/>
                            </h:outputText>
                        </p:column>
                        <p:column>
                            #{checkPointItem.comentario}
                        </p:column>

                    </p:selectOneMenu>
                </p:column>
                <p:column>
                    <p:message for="cpBalanceComparacion" display="text"/>
                </p:column>
                <p:column>
                    <p:outputLabel for="cmbTipoCambio" value="Tipo de Cambio"/>
                </p:column>
                <p:column>
                    <p:selectOneMenu panelStyle="width: 90px" style="width: 100px"
                                     id="cmbTipoCambio"
                                     value="#{reporteBalanceComprobacionJsfBean.reporteContext.tipoCambio}">
                        <f:selectItem itemLabel="Seleccione" itemValue=""/>
                        <f:selectItems value="#{reporteBalanceComprobacionJsfBean.cmbTipoCambio}"

                                />
                    </p:selectOneMenu>
                </p:column>
                <p:column>
                    <p:message for="cmbTipoCambio" display="text"/>
                </p:column>

            </p:row>
            <p:row>
                <p:column colspan="5">
                    <p:commandButton value="#{messages.label_process}" icon="ui-icon-refresh"
                                     actionListener="#{reporteBalanceComprobacionJsfBean.procesar}"
                                     ajax="true" update=":frmReporte :messages"
                            />
                </p:column>
            </p:row>
        </p:panelGrid>
    </p:panel>
</p:outputPanel>
<p:outputPanel id="pnlAdmin" rendered="#{reporteBalanceComprobacionJsfBean.administrador}">
    <p:panel header="Criterios de Búsqueda">
        <p:panelGrid>
            <p:row>
                <p:column>
                    <p:outputLabel for="cpModuloAdmin" value="Módulo"/>
                </p:column>
                <p:column>
                    <p:selectOneMenu panelStyle="width: 350px" style="width: 220px"
                                     id="cpModuloAdmin"

                                     value="#{reporteBalanceComprobacionJsfBean.reporteContext.tipoModulo}">
                        <f:selectItem itemLabel="Seleccione" itemValue=""/>
                        <f:selectItems value="#{reporteBalanceComprobacionJsfBean.allTipoModulo}"
                                       var="tipoModulo" itemLabel="#{tipoModulo.nombre}"
                                       itemValue="#{tipoModulo}"
                                />
                        <p:ajax event="change" update=":messages :frmReporte:cmbAgrupacionAdmin :frmReporte:cpCheckPointAdmin"
                                listener="#{reporteBalanceComprobacionJsfBean.onSelectModulo}"/>

                    </p:selectOneMenu>
                </p:column>
                <p:column>
                    <p:message for="cpModuloAdmin" display="text"/>
                </p:column>
                <p:column>
                    <p:outputLabel for="cmbAgrupacionAdmin" value="Seleccione las agrupaciones"
                            />
                </p:column>
                <p:column>
                    <p:selectCheckboxMenu id="cmbAgrupacionAdmin" label="Agrupaciones" filter="true"
                                          converter="#{managerAgrupacionDTOConverter}" required="true"
                                          requiredMessage="*"
                                          value="#{reporteBalanceComprobacionJsfBean.reporteContext.agrupacionList}"
                                          filterText="Filter" filterMatchMode="startsWith"
                                          panelStyle="width:220px"
                            >
                        <f:selectItems value="#{reporteBalanceComprobacionJsfBean.cmbAgrupacionSeleccionar}"
                                       var="agrupacionItem"
                                       itemLabel="#{agrupacionItem.nombre}" itemValue="#{agrupacionItem}"/>

                    </p:selectCheckboxMenu>
                </p:column>
                <p:column>
                    <p:message for="cmbAgrupacionAdmin" display="text"/>
                </p:column>
            </p:row>
            <p:row>
                <p:column colspan="2">
                    <p:treeTable style="font-size: 10px"
                                 value="#{reporteBalanceComprobacionJsfBean.root}" var="grupoEmpresarial"
                                 id="multiSelect"
                                 selection="#{reporteBalanceComprobacionJsfBean.selectedNodes}"
                                 selectionMode="checkbox">

                        <f:facet name="header">
                            Grupo Empresarial
                        </f:facet>

                        <p:column style="width:150px">
                            <f:facet name="header">
                                Nombre
                            </f:facet>
                            <h:outputText value="#{grupoEmpresarial.nombre}"/>
                        </p:column>
                    </p:treeTable>
                </p:column>
                <p:column></p:column>
                <p:column colspan="6" style="vertical-align: top; ">
                    <p:panelGrid>
                        <p:row>
                            <p:column>
                                <p:outputLabel for="cpCheckPointAdmin" value="CheckPoint"/>
                            </p:column>
                            <p:column>
                                <p:selectOneMenu panelStyle="width: 350px" style="width: 220px"
                                                 var="checkPointItem" id="cpCheckPointAdmin"
                                                 converter="#{checkPointDTOConverter}"
                                                 value="#{reporteBalanceComprobacionJsfBean.reporteContext.checkPoint}">
                                    <f:selectItem itemLabel="Seleccione" itemValue=""/>
                                    <f:selectItems value="#{reporteBalanceComprobacionJsfBean.cmbCheckPoint}"
                                                   var="checkPoint" itemLabel="#{checkPoint.nombreArchivo}"
                                                   itemValue="#{checkPoint}"
                                            />
                                    <p:column>
                                        #{checkPointItem.nombreArchivo}
                                    </p:column>
                                    <p:column>
                                        <h:outputText value="#{checkPointItem.fechaCreacion}">
                                            <f:convertDateTime pattern="#{messages.label_app_timeFormatLong}"
                                                               timeZone="America/Lima"
                                                               type="both"/>
                                        </h:outputText>
                                    </p:column>
                                    <p:column>
                                        #{checkPointItem.comentario}
                                    </p:column>

                                </p:selectOneMenu>
                            </p:column>
                            <p:column>
                                <p:message for="cpCheckPointAdmin" display="text"/>
                            </p:column>
                        </p:row>
                        <p:row>
                            <p:column>
                                <p:outputLabel for="cpBalanceComparacionAdmin" value="CheckPoint BC"/>
                            </p:column>
                            <p:column colspan="4">
                                <p:selectOneMenu panelStyle="width: 350px" style="width: 220px"
                                                 var="checkPointItem" id="cpBalanceComparacionAdmin"
                                                 converter="#{checkPointDTOConverter}"
                                                 value="#{reporteBalanceComprobacionJsfBean.reporteContext.checkPointBC}">
                                    <f:selectItem itemLabel="Seleccione" itemValue=""/>
                                    <f:selectItems value="#{reporteBalanceComprobacionJsfBean.cmbCpCuentaBC}"
                                                   var="checkPoint" itemLabel="#{checkPoint.nombreArchivo}"
                                                   itemValue="#{checkPoint}"
                                            />
                                    <p:column>
                                        #{checkPointItem.nombreArchivo}
                                    </p:column>
                                    <p:column>
                                        <h:outputText value="#{checkPointItem.fechaCreacion}">
                                            <f:convertDateTime pattern="#{messages.label_app_timeFormatLong}"
                                                               timeZone="America/Lima"
                                                               type="both"/>
                                        </h:outputText>
                                    </p:column>
                                    <p:column>
                                        #{checkPointItem.comentario}
                                    </p:column>

                                </p:selectOneMenu>
                            </p:column>
                            <p:column>
                                <p:message for="cpBalanceComparacionAdmin" display="text"/>
                            </p:column>
                        </p:row>
                        <p:row>
                            <p:column>
                                <p:outputLabel for="cmbTipoCambioAdmin" value="Tipo de Cambio"/>
                            </p:column>
                            <p:column>
                                <p:selectOneMenu panelStyle="width: 90px" style="width: 100px"
                                                 id="cmbTipoCambioAdmin"   rendered="true"
                                                 value="#{reporteBalanceComprobacionJsfBean.reporteContext.tipoCambio}">
                                    <f:selectItem itemLabel="Seleccione" itemValue=""/>
                                    <f:selectItems value="#{reporteBalanceComprobacionJsfBean.cmbTipoCambio}"

                                            />
                                </p:selectOneMenu>
                            </p:column>
                            <p:column>
                                <p:message for="cmbTipoCambioAdmin" display="text"/>
                            </p:column>
                        </p:row>

                    </p:panelGrid>
                    <p:commandButton value="#{messages.label_process}" icon="ui-icon-refresh"
                                     actionListener="#{reporteBalanceComprobacionJsfBean.procesar}"
                                     ajax="true" update=":frmReporte :messages"
                            />
                </p:column>
            </p:row>
        </p:panelGrid>
    </p:panel>
</p:outputPanel>
</h:form>
</h:panelGroup>
</ui:define>
<ui:define name="modal">
    <ui:decorate template="/pages/ui/uiModalBalance.xhtml">
        <ui:param name="tipo" value="cxc"/>
        <ui:param name="jsfBean" value="#{reporteBalanceComprobacionJsfBean}"/>
        <ui:param name="verFechaCorte" value="true"/>
    </ui:decorate>
</ui:define>
</ui:composition>
</html>